﻿<p>The <em>IfcStructuralAnalysisModel</em> is used to assemble all information needed to represent a structural analysis model.  It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results.</p>

<p>Important functionalities for the description of an analysis model are derived from existing IFC entities:</p>

<ul>
  <li>From <em>IfcSystem</em> it inherits the ability to couple the analysis model via <em>IfcRelServicesBuildings</em> to one or more <em>IfcBuilding</em>s as necessary.</li>
  <li>From <em>IfcGroup</em> it inherits the inverse attribute <em>IsGroupedBy</em>, pointing to the relationship class <em>IfcRelAssignsToGroup</em>.  This allows to group structural members (instances of <em>IfcStructuralMember</em>), and supports (instances of <em>IfcStructuralConnection</em>) which belong to a specific analysis model.
      <blockquote class="note">NOTE&nbsp;  Loads (as instances of <em>IfcStructuralAction</em>) are not included through <em>IsGroupedBy</em>.  Loads are assigned through the <em>LoadedBy</em> attribute relationship, using load groups as a grouping mechanism.  Only top-level load groups should be referenced via <em>LoadedBy</em>, i.e. load combinations if any load combinations exist, or load cases if no load combinations exist in this analysis model.</blockquote>
      <blockquote class="note">NOTE&nbsp;  Results (as instances of <em>IfcStructuralReaction</em>) are not included through <em>IsGroupedBy</em>.  Results are assigned through the <em>HasResults</em> attribute relationship, using result groups as a grouping mechanism.</blockquote>
  </li>
  <li>From <em>IfcObject</em> it inherits the inverse attribute <em>IsDecomposedBy</em> pointing to the relationship class <em>IfcRelNests</em>. It provides the hierarchy between the separate (partial) analysis models.</li>
</ul>

<blockquote class="history">
HISTORY&nbsp; New entity in IFC2x2.
</blockquote>

<blockquote class="change-ifc2x4">
IFC4 CHANGE&nbsp; Attribute <em>SharedPlacement</em> and informal propositions added, allowing for easy retrieval of the common object placement and for specification of the analysis model's coordiante system before any structural item is instantiated.  WHERE rule added.</blockquote>

<p class="spec-head">Informal Propositions:</p>

<ol>
  <li>If one or more structural item (instance of a subtype of <em>IfcStructuralItem</em>) is grouped into an <em>IfcStructuralAnalysisModel</em>, the attribute <em>SharedPlacement</em> shall be provided with a value.</li>
  <li>The <em>ObjectPlacement</em>s of all structural items which are grouped into the same instance of <em>IfcStructuralAnalysisModel</em> shall refer to the same instance of <em>IfcObjectPlacement</em> as <em>IfcStructuralAnalysisModel.SharedPlacement</em>.</li>
</ol>

<blockquote class="note">NOTE&nbsp; This rule is necessary to achieve consistent topology representations.  The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement.</blockquote>

<blockquote class="note">NOTE&nbsp; A structural item may be grouped into more than one analysis model.  In this case, all these models must use the same instance of <em>IfcObjectPlacement</em>.</blockquote>
